perm filename EX5.SAI[0,BGB] blob
sn#115093 filedate 1974-08-30 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 BEGIN "EX5"
C00004 ENDMK
C⊗;
BEGIN "EX5"
REQUIRE "GEOMES.HDR[GEM,HE]" SOURCE_FILE;
DEFINE αα="COMMENT";
DEFINE π="3.1415927";
INTEGER B1,B2;
INTEGER PROCEDURE GLUEFF(INTEGER FACE1,FACE2);
BEGIN "GLUEFF"
INTEGER V,V1,V2,E,E0,I; REAL DMIN,D;
V1 ← VCCW(PED(FACE1),FACE1);
αα FIND VERTEX OF FACE2 THAT IS CLOSEST TO V1;
DMIN ← 10@10; E ← E0 ← PED(FACE2);
DO BEGIN
V ← VCCW(E,FACE2);D ← DISTAN(V1,V);
IF D<DMIN THEN BEGIN DMIN←D;V2←V;END;
END UNTIL E0 = (E←ECCW(E,FACE2));
αα MAKE THE WASP EDGE;
E ← GLUEE(FACE1,V1,FACE2,V2);
αα CLOSE OTHER EDGES;
V ← OTHER(NCCW(E),V1);
DO BEGIN
V1 ← OTHER(PCW(E),V1);
V2 ← OTHER(PCCW(E),V2);
E ← MKFE(V1,FACE1,V2);
END UNTIL V=V1;
RETURN(BGET(E));
END "GLUEFF";
MKUNIV;
B1 ← MKCUBE(2,2,2);ROTATE(B1,0,-π/2,0);TRANSL(B1,-3,0,0);
B2 ← MKCUBE(3,3,3);ROTATE(B2,0,+π/2,0);TRANSL(B2,+4,0,0);
GLUEFF(PFACE(B1),PFACE(B2));
GEODPY;INCHRW;
END "EX5";